草庐IT

C++ 循环

全部标签

c++ - 相同的 C++ 代码导致 Windows 上的无限循环和 OSX 上的预期行为

这是我见过的最奇怪的事情之一。我在一所大学教授C++入门类(class),我的一位学生联系我说他的代码一直在不停地运行。我在类里面简单地浏览了他的代码,并没有立即看到任何明显的东西,所以我让他通过电子邮件将他的代码发给我。在不做任何更改的情况下,我下载了他的代码并在我的机器上运行-并且运行良好。我能看到的唯一区别是我使用的是OSX,而​​他使用的是Windows。这是代码:http://pastie.textmate.org/private/9rzpttixnuhudsvsm1yl4q有什么想法吗?已解决:PEBKAC存在问题实际上与学生输入的内容有关。我从来没有想过在提示存款时尝试输

c - 从 C 控制台应用程序打印到屏幕覆盖当前行

我想覆盖C控制台程序中的当前行,以实现类似于linuxshell命令“top”的输出。如果可能,该方法应该在windows和linux下工作。while(i我想在每次迭代中覆盖之前的数字,如果可能的话,看看用户是否在不暂停循环的情况下输入了一个字符。如果用户按下“q”键,循环应立即停止。 最佳答案 如果您只需要这样做,则不需要ncurses。您需要做的就是将光标移动到行首并覆盖那里的内容,并确保刷新输出缓冲区,因为stdout如果它连接到终端,通常是行缓冲的。这是一个例子:#include#includeintmain(intarg

c++ - 等待时间过去而不用在C窗口中忙着等待

我有一个线程,它的工作是向UDP对等点发送消息。如果满足以下条件之一,线程将发送消息:1)自上次发送消息以来已经过了一定时间(如超时)。2)共享结构中的更新bool标志已被其他线程引发。我希望能够等待这些条件发生,以便我知道何时发送消息。我能做到的最简单的方法是制作一个重复的循环,直到满足其中一个条件。怕是忙着等待,会白白消耗大量CPU时间。我也不想使用sleep()。我不介意C++解决方案,只要它易于理解和实现即可,因为我对C++不是很熟悉。谢谢! 最佳答案 对于Windows,使用事件(CreateEvent)而不是bool值,

c# - WPF:如何在具有不同名称的 for 循环内创建 UserControl 的多个实例?

我正在创建一个WPF窗口,我在其中创建了UserControl的多个实例。我正在使用for循环创建UserControl的新实例,如何为UserControl实例指定不同的名称?这就是我正在做的:for(i=0;i=newMyUserControl();/*codetochangethepropertiesofusercontrol*/SomeStackPanel.Children.Add();} 最佳答案 只需使用Name像这样的属性:StackPanelsp=newStackPanel();for(inti=0;i编辑在评论中回

c++ - windows平台下c++休眠线程100.8564毫秒

我有什么方法可以让线程在windowOS下休眠到100.8564毫秒。我正在使用多媒体计时器,但它的分辨率至少为1秒。请指导我,以便我可以处理毫秒的小数部分。 最佳答案 是的,你可以做到。请参阅QueryPerformanceCounter()以读取准确的时间,并进行繁忙的循环。这将使您能够以高达10纳秒的分辨率进行等待,但是,如果线程调度程序决定在周期结束时从您那里窃取控制权,它会这样做,除了分配您的处理实时优先级。你也可以看看这个:http://msdn.microsoft.com/en-us/library/ms838340(

c++ - 写入共享内存的频率限制?

单线程应用程序(C++)连续锁定、写入和解锁共享内存-每秒四次(该循环以编程方式设置为每秒运行一次,循环中有4次写入,没有读)。EnterCriticalSection(cs);WriteToSharedMem();LeaveCriticalSection(cs);另一个应用程序(C)将每隔分钟访问一次此共享内存。以这种速度写入共享内存有什么问题吗?WindowsXPC++ 最佳答案 您给出的速率(每秒四次)不会造成问题,但是youcan'tusecriticalsectionsacrossprocesses.您需要一个内核级同步对

windows - git svn clone 已经运行了很长时间。有没有办法证明它没有陷入无限循环?

我大约24小时前运行了gitsvnclone,它仍在运行,看不到尽头。当我ls目标目录时,那里除了一个.git文件夹什么都没有。有没有办法证明这个命令确实在进步,而不是陷入死循环?我正在使用cygwin在Windows7上运行此命令。最让我担心的是我一遍又一遍地看到这样的消息:W:Refspecglobconflict(ref:refs/remotes/trunk@8286):expectedpath:branches/trunk@8286realpath:OLD/branches/APPContinuingaheadwithOLD/branches/APPW:Refspecglobc

c - Windows 上多线程应用程序中非阻塞服务器/监听套接字的最佳方法?

我正在Windows上编写TCP服务器/客户端应用程序,以熟悉WinsockAPI。我有UNIX背景,想知道以下哪种方法是实现应用程序的最佳方法:首先是规范必须能够在多处理器和单处理器系统上很好地扩展。没有硬件连接限制。应用程序既可以监听连接,充当服务器,也可以充当客户端。多线程。第一种方法:在“服务器”线程中用于监听的非阻塞类选择套接字。我们为每个连接的客户端生成一个单独的线程。第二种方法:在“服务器”线程中阻塞用于监听的套接字。我们为每个连接的客户端生成一个单独的线程。第三种方法:在“服务器”线程中用于监听的非阻塞类选择套接字。每个传入连接都没有单独的线程,我想协议(protoco

Windows Phone 7 图像循环

我想遍历一系列图像。我尝试过使用Pivot控件,但我不喜欢图像转换之间的空白区域。我更愿意使用能够在图像之间流畅地制作动画的东西。我还查看了LoopingSelector控件,但我似乎无法将方向设置为水平。 最佳答案 我假设您对iOS提供的一种图像查看器感兴趣,可以通过向右或向左滑动来浏览照片。如果是这样的话,我不想这么说,但我认为你正在考虑建立自己的控制。我认为要正确实现这些是您需要考虑和解决的基本事项:为了性能起见,将您拥有的所有图像加载到memorystream对象中并存储二进制数据(您可以对此发挥创意,只存储前10-15张图

c - 从c中的文件中读取所有字节

我正在尝试从文件中读取字节,但大小已损坏。调试时我可以看到st.st_size的值,但我无法读取size的值。intmain(void){FILE*oud;structstatst;_off_tsize;unsigned*bytes;charconstpath[]="C:\\Users\\Ruben\\Documents\\test.txt";errno_terror;if((error=fopen_s(&oud,path,"rb"))!=NULL)return-1;stat(path,&st);size=st.st_size;bytes=(unsigned*)malloc(size)